﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Pay.DTO.hniao;

namespace Pay.IService {
    public interface IHniaoService {
        /// <summary>
        /// 获取候鸟商品数据
        /// </summary>
        /// <param name="goods_req"></param>
        /// <returns></returns>
        Task<int> GetGoodsList(hn_goods_list_req goods_req);
        /// <summary>
        /// 根据分类获取商品列表数据
        /// </summary>
        /// <returns></returns>
        Task<int> GetGoodsListByCatId();
        /// <summary>
        /// 获取商品库存
        /// </summary>
        /// <returns></returns>
        Task<int> GetProductStock();
        /// <summary>
        /// 接收候鸟异步通知
        /// </summary>
        /// <param name="notify"></param>
        /// <returns></returns>
        Task<int> PullGoods(hn_notify_base notify);
        /// <summary>
        /// 支付成功推送订单
        /// </summary>
        /// <returns></returns>
        Task<int> PushOrder();
        /// <summary>
        /// 批量推送订单
        /// </summary>
        /// <param name="order_no"></param>
        /// <returns></returns>
        Task<int> PushOrderBath(string order_no);
        /// <summary>
        /// 查询订单状态
        /// </summary>
        /// <returns></returns>
        Task<int> GetOrderStatus();
        /// <summary>
        /// 查询订单物流信息
        /// </summary>
        /// <param name="order_no"></param>
        /// <returns></returns>
        Task<List<hn_expressInfo>> GetOrderExpress(string order_no);
        /// <summary>
        /// 解析候鸟推送数据
        /// </summary>
        void AnalysisProducts();
    }
}
